module top_module( 
    input [399:0] a, b,
    input cin,
    output cout,
    output [399:0] sum );

    wire [99:0] carry;

    bcd_fadd inst_add0 (a[3:0], b[3:0], cin, carry[0], sum[3:0]);
    bcd_fadd inst_add[99:1] (a[399:4], b[399:4], carry[98:0], carry[99:1], sum[399:4]);

    assign cout = carry[99];

endmodule
